x86: PIT broadcast to fix local APIC timer stop issue for Deep C state
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 14 Jul 2008 09:43:32 +0000 (10:43 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 14 Jul 2008 09:43:32 +0000 (10:43 +0100)
commit3eab82196b02d0da5c5026f8ab3c6f8f7a781711
tree56e626b8376a451600d1c55caf22e72ab27478fe
parent73d5acf50f40dbc3cb4b41232e17626110ba5d90
x86: PIT broadcast to fix local APIC timer stop issue for Deep C state

Local APIC timer may stop at deep C state (C3/C4...) entry. Initial
HPET broadcast working in legacy replacing mode, broke RTC intr, so
was bypassed. This patch add the logic that use platform timer (PIT)
to reenable local APIC timer at C state entry/exit.

Currently, only keep PIT enabled with 100Hz freq. The next step is
trying to dynamically enable/disable PIT while needed, and give it
lower freq.

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Tian Kevin <kevin.tian@intel.com>
Signed-off-by: Wei Gang <gang.wei@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/acpi/cpu_idle.c
xen/arch/x86/setup.c
xen/arch/x86/time.c
xen/include/asm-x86/time.h